package com.neusoft.demo3;

/**
 * 构造方法/构造器
 * 基本语法：
 *      public 类名(参数1....,参数n) {
 *
 *      }
 * 规则：
 *  1.通常来说构造方法都是public
 *  2.构造方法的名称与类名相同
 *  3.如何调用构造方法： new 构造方法()
 *  4.每个类都会有一个默认的无参数的构造方法
 *
 *  作用：构造方法主要是用于初始化
 *
 *  构造器的重载(overload): 构造器的名称相同，参数不同，与返回值类型无关。
 *  当一个类有多个构造方法的时候，调用某个构造方法可以根据参数来决定。
 *
 *  匿名对象：new 构造方法()
 *
 *  this表示当前对象自身
 *  this(参数)
 */
public class ConstructorDemo {
    public ConstructorDemo() {
        System.out.println("这是一个构造方法......");
    }
    public ConstructorDemo(int a) {
        System.out.println("这是一个构造方法......" + a);
    }
    public ConstructorDemo(int a,String s) {
        System.out.println("这是一个构造方法......" + a + s);
    }

    public void Employee() {
        System.out.println("employee.....");
    }

    public void Employee1() {
        System.out.println("employee1.....");
    }

    public static void main(String[] args) {
        ConstructorDemo demo = new ConstructorDemo(1,"abc");
        demo.Employee();
        demo.Employee1();
        //匿名对象
        new ConstructorDemo(1,"abc").Employee(); //一个对象只能调用一次方法
        new ConstructorDemo(1,"abc").Employee1();

    }
}
